
# Loading additional proc with user specified bodies to compute parameter values.
source [file join [file dirname [file dirname [info script]]] gui/axi_to_jtag_lm_v1_1.gtcl]

# Definitional proc to organize widgets for parameters.
proc init_gui { IPINST } {
  ipgui::add_param $IPINST -name "Component_Name"
  #Adding Page
  set Page_0 [ipgui::add_page $IPINST -name "Page 0"]
  ipgui::add_param $IPINST -name "C_M_AXI_DATA_WIDTH" -parent ${Page_0} -layout horizontal
  ipgui::add_param $IPINST -name "C_VECTOR_LEN" -parent ${Page_0} -widget comboBox
  set C_JTAG_TYPE [ipgui::add_param $IPINST -name "C_JTAG_TYPE" -parent ${Page_0} -layout horizontal]
  set_property tooltip {JTAG Interface Type Selection} ${C_JTAG_TYPE}
  set C_JTAG_TRI_POLARITY [ipgui::add_param $IPINST -name "C_JTAG_TRI_POLARITY" -parent ${Page_0} -layout horizontal]
  set_property tooltip {JTAG I/O Tri-State Polarity Selection} ${C_JTAG_TRI_POLARITY}


}

proc update_PARAM_VALUE.C_JTAG_TRI_POLARITY { PARAM_VALUE.C_JTAG_TRI_POLARITY PARAM_VALUE.C_JTAG_TYPE } {
	# Procedure called to update C_JTAG_TRI_POLARITY when any of the dependent parameters in the arguments change
	
	set C_JTAG_TRI_POLARITY ${PARAM_VALUE.C_JTAG_TRI_POLARITY}
	set C_JTAG_TYPE ${PARAM_VALUE.C_JTAG_TYPE}
	set values(C_JTAG_TYPE) [get_property value $C_JTAG_TYPE]
	if { [gen_USERPARAMETER_C_JTAG_TRI_POLARITY_ENABLEMENT $values(C_JTAG_TYPE)] } {
		set_property enabled true $C_JTAG_TRI_POLARITY
	} else {
		set_property enabled false $C_JTAG_TRI_POLARITY
	}
}

proc validate_PARAM_VALUE.C_JTAG_TRI_POLARITY { PARAM_VALUE.C_JTAG_TRI_POLARITY } {
	# Procedure called to validate C_JTAG_TRI_POLARITY
	return true
}

proc update_PARAM_VALUE.C_JTAG_TYPE { PARAM_VALUE.C_JTAG_TYPE } {
	# Procedure called to update C_JTAG_TYPE when any of the dependent parameters in the arguments change
}

proc validate_PARAM_VALUE.C_JTAG_TYPE { PARAM_VALUE.C_JTAG_TYPE } {
	# Procedure called to validate C_JTAG_TYPE
	return true
}

proc update_PARAM_VALUE.C_M_AXI_ADDR_WIDTH { PARAM_VALUE.C_M_AXI_ADDR_WIDTH } {
	# Procedure called to update C_M_AXI_ADDR_WIDTH when any of the dependent parameters in the arguments change
}

proc validate_PARAM_VALUE.C_M_AXI_ADDR_WIDTH { PARAM_VALUE.C_M_AXI_ADDR_WIDTH } {
	# Procedure called to validate C_M_AXI_ADDR_WIDTH
	return true
}

proc update_PARAM_VALUE.C_M_AXI_DATA_WIDTH { PARAM_VALUE.C_M_AXI_DATA_WIDTH } {
	# Procedure called to update C_M_AXI_DATA_WIDTH when any of the dependent parameters in the arguments change
}

proc validate_PARAM_VALUE.C_M_AXI_DATA_WIDTH { PARAM_VALUE.C_M_AXI_DATA_WIDTH } {
	# Procedure called to validate C_M_AXI_DATA_WIDTH
	return true
}

proc update_PARAM_VALUE.C_M_AXI_MAX_BURST_LENGTH { PARAM_VALUE.C_M_AXI_MAX_BURST_LENGTH } {
	# Procedure called to update C_M_AXI_MAX_BURST_LENGTH when any of the dependent parameters in the arguments change
}

proc validate_PARAM_VALUE.C_M_AXI_MAX_BURST_LENGTH { PARAM_VALUE.C_M_AXI_MAX_BURST_LENGTH } {
	# Procedure called to validate C_M_AXI_MAX_BURST_LENGTH
	return true
}

proc update_PARAM_VALUE.C_M_JTAG_CLK_FREQUENCY { PARAM_VALUE.C_M_JTAG_CLK_FREQUENCY } {
	# Procedure called to update C_M_JTAG_CLK_FREQUENCY when any of the dependent parameters in the arguments change
}

proc validate_PARAM_VALUE.C_M_JTAG_CLK_FREQUENCY { PARAM_VALUE.C_M_JTAG_CLK_FREQUENCY } {
	# Procedure called to validate C_M_JTAG_CLK_FREQUENCY
	return true
}

proc update_PARAM_VALUE.C_S_AXI_ADDR_WIDTH { PARAM_VALUE.C_S_AXI_ADDR_WIDTH } {
	# Procedure called to update C_S_AXI_ADDR_WIDTH when any of the dependent parameters in the arguments change
}

proc validate_PARAM_VALUE.C_S_AXI_ADDR_WIDTH { PARAM_VALUE.C_S_AXI_ADDR_WIDTH } {
	# Procedure called to validate C_S_AXI_ADDR_WIDTH
	return true
}

proc update_PARAM_VALUE.C_S_AXI_DATA_WIDTH { PARAM_VALUE.C_S_AXI_DATA_WIDTH } {
	# Procedure called to update C_S_AXI_DATA_WIDTH when any of the dependent parameters in the arguments change
}

proc validate_PARAM_VALUE.C_S_AXI_DATA_WIDTH { PARAM_VALUE.C_S_AXI_DATA_WIDTH } {
	# Procedure called to validate C_S_AXI_DATA_WIDTH
	return true
}

proc update_PARAM_VALUE.C_VECTOR_LEN { PARAM_VALUE.C_VECTOR_LEN } {
	# Procedure called to update C_VECTOR_LEN when any of the dependent parameters in the arguments change
}

proc validate_PARAM_VALUE.C_VECTOR_LEN { PARAM_VALUE.C_VECTOR_LEN } {
	# Procedure called to validate C_VECTOR_LEN
	return true
}


proc update_MODELPARAM_VALUE.C_M_JTAG_CLK_FREQUENCY { MODELPARAM_VALUE.C_M_JTAG_CLK_FREQUENCY PARAM_VALUE.C_M_JTAG_CLK_FREQUENCY } {
	# Procedure called to set VHDL generic/Verilog parameter value(s) based on TCL parameter value
	set_property value [get_property value ${PARAM_VALUE.C_M_JTAG_CLK_FREQUENCY}] ${MODELPARAM_VALUE.C_M_JTAG_CLK_FREQUENCY}
}

proc update_MODELPARAM_VALUE.C_S_AXI_ADDR_WIDTH { MODELPARAM_VALUE.C_S_AXI_ADDR_WIDTH PARAM_VALUE.C_S_AXI_ADDR_WIDTH } {
	# Procedure called to set VHDL generic/Verilog parameter value(s) based on TCL parameter value
	set_property value [get_property value ${PARAM_VALUE.C_S_AXI_ADDR_WIDTH}] ${MODELPARAM_VALUE.C_S_AXI_ADDR_WIDTH}
}

proc update_MODELPARAM_VALUE.C_S_AXI_DATA_WIDTH { MODELPARAM_VALUE.C_S_AXI_DATA_WIDTH PARAM_VALUE.C_S_AXI_DATA_WIDTH } {
	# Procedure called to set VHDL generic/Verilog parameter value(s) based on TCL parameter value
	set_property value [get_property value ${PARAM_VALUE.C_S_AXI_DATA_WIDTH}] ${MODELPARAM_VALUE.C_S_AXI_DATA_WIDTH}
}

proc update_MODELPARAM_VALUE.C_M_AXI_MAX_BURST_LENGTH { MODELPARAM_VALUE.C_M_AXI_MAX_BURST_LENGTH PARAM_VALUE.C_M_AXI_MAX_BURST_LENGTH } {
	# Procedure called to set VHDL generic/Verilog parameter value(s) based on TCL parameter value
	set_property value [get_property value ${PARAM_VALUE.C_M_AXI_MAX_BURST_LENGTH}] ${MODELPARAM_VALUE.C_M_AXI_MAX_BURST_LENGTH}
}

proc update_MODELPARAM_VALUE.C_M_AXI_ADDR_WIDTH { MODELPARAM_VALUE.C_M_AXI_ADDR_WIDTH PARAM_VALUE.C_M_AXI_ADDR_WIDTH } {
	# Procedure called to set VHDL generic/Verilog parameter value(s) based on TCL parameter value
	set_property value [get_property value ${PARAM_VALUE.C_M_AXI_ADDR_WIDTH}] ${MODELPARAM_VALUE.C_M_AXI_ADDR_WIDTH}
}

proc update_MODELPARAM_VALUE.C_M_AXI_DATA_WIDTH { MODELPARAM_VALUE.C_M_AXI_DATA_WIDTH PARAM_VALUE.C_M_AXI_DATA_WIDTH } {
	# Procedure called to set VHDL generic/Verilog parameter value(s) based on TCL parameter value
	set_property value [get_property value ${PARAM_VALUE.C_M_AXI_DATA_WIDTH}] ${MODELPARAM_VALUE.C_M_AXI_DATA_WIDTH}
}

proc update_MODELPARAM_VALUE.C_VECTOR_LEN { MODELPARAM_VALUE.C_VECTOR_LEN PARAM_VALUE.C_VECTOR_LEN } {
	# Procedure called to set VHDL generic/Verilog parameter value(s) based on TCL parameter value
	set_property value [get_property value ${PARAM_VALUE.C_VECTOR_LEN}] ${MODELPARAM_VALUE.C_VECTOR_LEN}
}

proc update_MODELPARAM_VALUE.C_JTAG_TYPE { MODELPARAM_VALUE.C_JTAG_TYPE PARAM_VALUE.C_JTAG_TYPE } {
	# Procedure called to set VHDL generic/Verilog parameter value(s) based on TCL parameter value
	set_property value [get_property value ${PARAM_VALUE.C_JTAG_TYPE}] ${MODELPARAM_VALUE.C_JTAG_TYPE}
}

proc update_MODELPARAM_VALUE.C_JTAG_TRI_POLARITY { MODELPARAM_VALUE.C_JTAG_TRI_POLARITY PARAM_VALUE.C_JTAG_TRI_POLARITY } {
	# Procedure called to set VHDL generic/Verilog parameter value(s) based on TCL parameter value
	set_property value [get_property value ${PARAM_VALUE.C_JTAG_TRI_POLARITY}] ${MODELPARAM_VALUE.C_JTAG_TRI_POLARITY}
}

